#ifndef ACCION_H
#define ACCION_H

#include "models/Usuario.h"
#include "models/Archivo.h"
#include "types/DateTime.h"


enum TipoAccion {creacion, modificacion, destruccion};

class Accion{

   private:
            DateTime fecha;
            TipoAccion tipo;

            // Relations
            Usuario* usuario;
            Archivo* archivo;

   public:
            //Constructors
            Accion(void);
            Accion(Usuario*, Archivo*, DateTime);

            //Sets
            void setFecha(DateTime);
            void setTipo(TipoAccion);
            void setUsuario(Usuario*);
            void setArchivo(Archivo*);


            //Gets
            DateTime getFecha();
            TipoAccion getTipo();
            Usuario* getUsuario();
            Archivo* getArchivo();

            //Operations
            string ObtenerUsuarioAccion();
            void ImprimirNombreArchivoAccion();

            //Destructor
            ~Accion();
};

#endif
